Identificação do Usuário em Eventos
Como Cruzar Informações para Identificar o Usuário
Em muitos cenários operacionais, identificar o usuário responsável por um evento é essencial para análises, ações contextuais e auditoria. Abaixo, listamos abordagens possíveis para realizar essa identificação com base em práticas técnicas seguras e compatíveis com diretrizes de privacidade.
1 - Usando notificationToken:
Esta função espera um parâmetro do tipo String, que representa o token de notificação do usuário. No iOS, esse token é fornecido pelo APNS (Apple Push Notification Service), enquanto no Android, ele é obtido através do Firebase Cloud Messaging.
Set the Firebase Token in the Grouplink SDK
Após a configuração padrão do FCM no seu projeto, recupere o token do Firebase e defina-o usando o método setFirebaseToken(Context context, String token) da classe Grouplink.
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "Falha ao obter o token de registro do FCM", task.getException());
return;
}
// Obter novo token de registro do FCM
String token = task.getResult();
Context context = MainActivity.this;
// Log e toast
String msg = getString(R.string.msg_token_fmt, token);
Log.d(TAG, msg);
// Definir o token do Firebase no SDK Grouplink
Grouplink.setFirebaseToken(context, token);
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
});
O token do Firebase deve ser monitorado, pois ele muda periodicamente. Faça o mesmo após o token ser renovado:
/**
* Há dois cenários em que o onNewToken é chamado:
* 1) Quando um novo token é gerado na inicialização do app
* 2) Sempre que um token existente for alterado
* No caso #2, há três situações possíveis:
* A) O app é restaurado em um novo dispositivo
* B) O usuário desinstala e reinstala o app
* C) O usuário limpa os dados do app
*/
override fun onNewToken(token: String) {
Log.d(TAG, "Refreshed token: " + token)
// Definir o token do Firebase no SDK Grouplink
Grouplink.setFirebaseToken(context, token)
super.onNewToken(token)
}
2 - Usando notification_name:
Esta função espera um parâmetro do tipo String que representa o nome de notificação associado ao dispositivo. Esse nome é um identificador personalizável que você pode usar para gerenciar ou rotular notificações para um usuário ou contexto específico.
Recomendamos fortemente que você não utilize informações sensíveis no notification_name
. Em vez disso, utilize identificadores únicos que estejam devidamente criptografados ou ofuscados. Por exemplo, usar o session-id
do usuário é uma abordagem mais segura que ajuda a garantir a segurança e privacidade na identificação de dispositivos.
Definindo o notification_name do usuário:
class App : Application() {
override fun onCreate() {
super.onCreate()
...
GroupLink.setNotificationName(context, notificationName);
}
}
Obtendo o notification_name do usuário:
class App : Application() {
override fun onCreate() {
super.onCreate()
...
String notificationName = GroupLink.getNotificationName(context);
}
}